From: Umang Jain Date: Thu, 12 Dec 2019 09:08:42 +0000 (+0530) Subject: shellEntry: Handle PasswordEntries automatically X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~306 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b166de08dc6e3023bb451f7df81b80e383f072bc;p=gnome-shell.git shellEntry: Handle PasswordEntries automatically shellEntry should not need to query the clutter-text directly in order to know if the entry is for passport-input purpose. shellEntry can easily determine a password-entry by querying if it is an instance of StPasswordEntry and use it's API whereever relevant. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/619 --- diff --git a/js/ui/shellEntry.js b/js/ui/shellEntry.js index f7961af39..79a38bf56 100644 --- a/js/ui/shellEntry.js +++ b/js/ui/shellEntry.js @@ -27,7 +27,8 @@ var EntryMenu = class extends PopupMenu.PopupMenu { this.addMenuItem(item); this._pasteItem = item; - this._passwordItem = null; + if (entry instanceof St.PasswordEntry) + this._makePasswordItem(); Main.uiGroup.add_actor(this.actor); this.actor.hide(); @@ -86,8 +87,7 @@ var EntryMenu = class extends PopupMenu.PopupMenu { } _updatePasswordItem() { - let textHidden = this._entry.clutter_text.password_char; - if (textHidden) + if (!this._entry.password_visible) this._passwordItem.label.set_text(_("Show Text")); else this._passwordItem.label.set_text(_("Hide Text")); @@ -110,8 +110,7 @@ var EntryMenu = class extends PopupMenu.PopupMenu { } _onPasswordActivated() { - let visible = !!this._entry.clutter_text.password_char; - this._entry.clutter_text.set_password_char(visible ? '' : '\u25cf'); + this._entry.password_visible = !this._entry.password_visible; } };